package cn.classg.xxl.job.model;

import cn.classg.xxl.job.constants.*;
import lombok.Data;
import java.util.Date;

/**
 * XXL-JOB 原始添加job的所有参数
 * @author CLASSG
 */
@Data
public class XxlJobInfo {

	/** 主键ID */
	protected int id;

	/** 任务组 */
	protected int jobGroup;

	/** 任务描述 */
	protected String jobDesc;

	/** add时间 */
	protected Date addTime;

	/** 更新时间 */
	protected Date updateTime;

	/** 负责人 */
	protected String author;

	/** 报警邮件 */
	protected String alarmEmail;

	/** 调度类型 */
	protected ScheduleTypeEnum scheduleType;

	/** 调度配置，值含义取决于调度类型 */
	protected String scheduleConf;

	/** 调度过期策略 */
	protected MisfireStrategyEnum misfireStrategy;

	/** 执行器路由策略 */
	protected ExecutorRouteStrategyEnum executorRouteStrategy;

	/** 执行器，任务Handler名称 */
	protected String executorHandler;

	/** 执行器，任务参数 */
	protected String executorParam;

	/** 阻塞处理策略 */
	protected String executorBlockStrategy;

	/** 任务执行超时时间，单位秒 */
	protected int executorTimeout;

	/** 失败重试次数 */
	protected int executorFailRetryCount;

	/** GLUE类型	#com.xxl.job.core.glue.GlueTypeEnum */
	protected GlueTypeEnum glueType;

	/** GLUE源代码 */
	protected String glueSource;

	/** GLUE备注 */
	protected String glueRemark;

	/** GLUE更新时间 */
	protected Date glueUpdatetime;

	/** 子任务ID，多个逗号分隔 */
	protected String childJobId;

	/** 调度状态：0-停止，1-运行 */
	protected TriggerStatusEnum triggerStatus;

	/** 上次调度时间 */
	protected long triggerLastTime;

	/** 下次调度时间 */
	protected long triggerNextTime;

}
